/*
 * Compresor.h
 *
 *  Created on: 27/11/2012
 *      Author: d
 */

#ifndef COMPRESOR_H_
#define COMPRESOR_H_
#include <cmath>
#include <vector>
#include "ColeccionDeBits.h"
#include "Utilidades.h"

class Compresor {
private: int numero;
		 Utilidades utilidades;

public:
	Compresor();

	/**
	 *
	 * @param unNumero es el numero a comprimir
	 */
	Compresor(int unNumero);

	
	/**
	 *
	 * @return el valor resultante de la compresion del numero que se paso 
	 *         como argumento al constructor que instancia esta clase
	 */
	ColeccionDeBits* comprimir();
	
	/**
	 *
	 * @return la particion binaria
	 */
	ColeccionDeBits* obtenerParticionBinaria1();
	/**
	 *
	 * @return la particion binaria
	 */
	ColeccionDeBits* obtenerParticionBinaria2();

	virtual ~Compresor();
private:
	ColeccionDeBits* obtenerRepresentacionBinaria(int numeroDecimal,int digitos);

};

#endif /* COMPRESOR_H_ */
